Skip to content

fix(desktop): make triple-click select only the clicked composer line - #6450

Open
kltdwrds wants to merge 1 commit into
block:mainfrom
kltdwrds:fix/composer-triple-click-line-selection
Open

fix(desktop): make triple-click select only the clicked composer line#6450
kltdwrds wants to merge 1 commit into
block:mainfrom
kltdwrds:fix/composer-triple-click-line-selection

Conversation

@kltdwrds

Copy link
Copy Markdown

Shift+Enter never starts a new paragraph in the Tiptap composer -- a multi-line typed message is one

with inline hardBreak (
) nodes. Browsers resolve triple-click by expanding to the nearest block container, so triple-clicking any line selected the entire composer content instead of just that line. Pasted multi-line text is unaffected since it parses into separate

nodes.

Adds a tripleClickSelectsLine ProseMirror plugin that intercepts handleTripleClick and reuses the existing hardBreakLineBounds() helper (already used for Ctrl-A/Ctrl-E/Ctrl-K Emacs-style shortcuts) to select just the text between the surrounding hard breaks.

Adds an E2E regression spec verifying triple-click on a middle line of a three-line hard-break message selects only that line.

Summary

Related issue

Testing

Shift+Enter never starts a new paragraph in the Tiptap composer -- a
multi-line typed message is one <p> with inline hardBreak (<br>) nodes.
Browsers resolve triple-click by expanding to the nearest block
container, so triple-clicking any line selected the entire composer
content instead of just that line. Pasted multi-line text is
unaffected since it parses into separate <p> nodes.

Adds a tripleClickSelectsLine ProseMirror plugin that intercepts
handleTripleClick and reuses the existing hardBreakLineBounds() helper
(already used for Ctrl-A/Ctrl-E/Ctrl-K Emacs-style shortcuts) to
select just the text between the surrounding hard breaks.

Adds an E2E regression spec verifying triple-click on a middle line of
a three-line hard-break message selects only that line.

Signed-off-by: Claude <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants